/* ScraperSessionInterface.java
 * 4 June 2012
 */
package za.ac.wits.elen7045.scraper.interfaces;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * Interface defining the transformed scraped session from the scripts 
 * @author Gerhard Visagie
 */
public interface ScraperSessionInterface {

	/**
	 * Returns the URL of the billing company
	 * 
	 * @returns String - url in the form www.<domain>
	 */
	public String getUrl();
	
	/**
	 * Returns the date time field of when the scrape was done.
	 * 
	 * @return long - The time in UTC milliseconds since epoch
	 */
	public long getDateTime();
	
	/**
	 * Returns a list of ScrapeDataPairInterface objects repressenting the datapairs as in the 
	 * xml received from the scraper
	 * 
	 * @return ArrayList - ScrapeDataPairInterface
	 */
	public ArrayList<ScrapeDataPairInterface> getDataPairs();
	
	/**
	 * Returns a ScrapeDataPairInterface object repressenting the datapair as in the 
	 * xml received from the scraper, using the specified key.
	 * 
	 * @param String - key relating to the ScrapeDataPairInterface.getKey method
	 * @return ArrayList - ScrapeDataPairInterface
	 */
	public ScrapeDataPairInterface get(String key);

	public void addDataPair(ScrapeDataPairInterface dataPair);
}
